<?php /* 
==================================================
TextCMS -- simple plain/text CMS with GPL licence
Articles list module
(c) 2008, 4X_Pro
Visit us online: http://textcms.ru
==================================================

*/
function articles_main($url='./',$count=false) {
  $page=cms_output_load_template('articles.htm','articles');  
  if (!cms_module_load('menu')) trigger_error('Отсутствует модуль menu, построение списка статей невозможно!',E_USER_WARNING);
  elseif (!cms_module_load('cmsmain')) trigger_error('Отсутствует модуль cmsmain!');
  else {
    if (trim($url)=='.' || trim($url)=='./') $url=$GLOBALS['pagedata']['url'];
    $items=menu_pages_get($url,false,false);
    usort($items,'_menu_sorter');
    $count = ($count) ? min($count,count($items)) : count($items);
    $template=cms_output_load_template('item.htm','articles');
    $buffer='';
    for ($i=0; $i<$count; $i++) {
      $params = array('description','author');
      $pagedata = cms_page_load($items[$i]['id'],false);
      foreach ($params as $curparam) { // обработка мета-параметров
        if (preg_match('/#meta\['.$curparam.',([^\]]+)\]#/s',$pagedata,$matches)) $items[$i][$curparam]=$matches[1];
        else $items[$i][$curparam]='';
      }
      $items[$i]['pubdate']=strftime('%d.%m.%Y %H:%M',$items[$i]['date']);
      $items[$i]['lastmoddate']=strftime('%d.%m.%Y %H:%M',$items[$i]['lastmod']);
      $items[$i]['pubfull']=gmdate('Y-m-d\TH:i:s\Z',$items[$i]['date']);
      $items[$i]['lastmodfull']=gmdate('Y-m-d\TH:i:s\Z',$items[$i]['lastmod']);
			$items[$i]['url']=cms_hurl($items[$i]['url']);
      
      $buffer.=cmsmain_replace($template,$items[$i]);
    }
    $page=str_replace('#ITEMS#',$buffer,$page);
  }
  return $page;
}
